home *** CD-ROM | disk | FTP | other *** search
/ PLAYymate for OS/2 / Playmate for OS2.iso / p4os2045 / rollball.doc < prev    next >
Text File  |  1992-07-16  |  6KB  |  128 lines

  1. ******************************************************************************
  2. *                                                                            *
  3. *         Documentation for RollBall - A Shareware Game for OS/2 2.0         *
  4. *                                                                            *
  5. ******************************************************************************
  6.  
  7. Program: RollBall Version 0.99
  8.          Copyright (C) by Stangl Roman, 1992
  9.          RollBall is Shareware - it can be freely:
  10.             distributed, but the code or program musn't be used in any
  11.                 commercial product, without contacting me prior.
  12.             modified, provided the complete source code is attached
  13.                 (preferable the unmodified, and the modified version).
  14.                 This program musn't be ported to MS WINDOWS, because OS/2 is
  15.                 the operating system of the future for PCs and workstations.
  16.  
  17.          !!! You are encouraged to distribute this program, under the      !!!
  18.          !!! conditions mentioned in this document. Please load the        !!!
  19.          !!! complete program up to your favourite BBS-Board/FTP-Server.   !!!
  20.  
  21.          RollBall is a true 32Bit, multithreaded Presentation Manager program,
  22.          developed for and under OS/2 2.0.
  23.  
  24. Requirements:
  25.          A PC with about 20-33 Mhz 80386,
  26.          OS/2 2.0 GA,
  27.          at least VGA, but a coprocessed video (f.e. 8514/A, XGA) greatly
  28.             improves performance,
  29.          a mouse or trackball (or equivalent), sorry there's no keyboard
  30.             support,
  31.          a maximum of 400kB disk space.
  32.  
  33. Author:  Stangl Roman
  34.          Strebersdorferstrasse 46
  35.          2103  Langenzersdorf, Austria
  36.  
  37. E-Mail:  8650533@awiwuw11.wu-wien.ac.at (IBM 9021)
  38.          h8650533@d27.wu-wien.ac.at (DECstation /120)
  39.          (University for Business Administration and Management (Wirtschafts-
  40.          universität) Vienna, Austria
  41.  
  42. RollBall is game of my proprietary design. The goal of any player is, to roll
  43. RollBall (the red moving circle) of points (the colored circles) to get
  44. points. RollBall will be reflected by the borders of the playing ground (the
  45. borders of the Presentation Manager window), and deflected by the deflectors,
  46. the / and \ symbols.
  47. But beware of the holes (the black surronded dark circles), if you get in
  48. contact with one, you lose your life.
  49. Points, deflectors and holes randomly disappear and appear. Rolling over any
  50. point or deflector also removes them. To place a deflector, you use the mouse.
  51. The left mouse butten will place a \ deflector, and the right button will
  52. place a / deflector.
  53.  
  54. I developed this program in about 3 Weeks in August. Because this is my first
  55. try to program the Presentation Manager there may and will be some bugs. I
  56. don't have any experience with programming PM, so there may be also more
  57. efficient steps to to some things, but I have good knowledge in C and of data
  58. structures and algorithms. For almoust any API (application program interface)
  59. I check the return value or error code, so there's a good chance, that a bug
  60. causes a message box to be displayed, giving the error and location in source
  61. code.
  62.  
  63. Because OS/2 is a multitasking and multithreaded operating system, it is very
  64. difficult, to get an exact time bases. Because I haven't found any efficient
  65. solution to implement a time bases, this progam may be slow an slow machines
  66. (16Mhz 386sx) and too fast on fast machines (50Mhx 80486). The only solution
  67. is to add a delay loop in THREAD.C, but this requires a recompilition.
  68.  
  69.  
  70. ******************************************************************************
  71.  
  72. *** Developers, please read the following: ***
  73.  
  74. The development was done with:
  75.     IBM PS/2 80 (24Mhz without any cache)
  76.     IBM 8514/A  (Adapter and monitor at 1024*768*256)
  77.     OS/2 2.0 GA (on a HPFS volume)
  78.     IBM C Set/2 1.0 GA
  79. but the program should run, or can be compiled, on any PC. Some things to
  80. remember are:
  81.     Use of non GA (general availability) versions of OS/2 and/or Toolkit
  82.     may produce unexpected results.
  83.     Because this is an OS/2 PM Program, I can't do low level things as in DOS.
  84.     The program makes heavy use of GPI_BitBlt, which may be slow on standard
  85.     VGA. On a coprocessed video card (f.e. 8514/A, XGA, TIGA,...) GPI_BitBlt
  86.     is done by hardware, and therefore much faster. Performance may also be
  87.     sufficient on 16 Bit VGA or possibly with the coming 32bit graphics
  88.     enginge of OS/2.
  89. There's a makefile, that can be used with NMAKE of C Set/2. The used options
  90. are described. The debug options are enabled, so you should be able, to use
  91. IPMD without any difficulties.
  92.  
  93. If you have any suggestions or any improvements, you may contact me. If I have
  94. time, I will try to support RollBall in the future (at least the next half
  95. year). You are encouraged, to improve this program under the conditions,
  96. mentioned above.
  97.  
  98. Known Bugs:
  99.     The first time you select Options->Pause you will get an General Error,
  100.     of type UNKNOWN. It can be ignored (retry does the same) without any
  101.     problems. As I said, I check almoust any API for errors, and this error,
  102.     returned by PM, is somewhere in an error-queue I think.
  103.  
  104.     Because, I haven't found any efficient implementation of a time bases,
  105.     the speed of the game is proportional to the speed of the PC. To slow
  106.     the game down, you must add a delay loop in THREAD.C. I possibly try
  107.     to find a more practicable solution for this problem (adjusting thread
  108.     priority or so?).
  109.  
  110.     Switching between the playing window, and other windows or the dialog
  111.     boxes sometimes hides RollBall. In this case Options->Pause and Options->
  112.     Unpause let you continue. The problem is, that if the playing ground
  113.     is not selected, RollBall should stop from moving. I haven't found any
  114.     good method, to check which window has the input focus.
  115.  
  116. History:
  117.     Version 0.99: The first version programmed and distributed.
  118.  
  119. ******************************************************************************
  120.  
  121. The following names are (registered) trademarks of:
  122.     MS WINDOWS
  123.     DOS...........MicroSoft Corporation
  124.  
  125.     OS/2 2.0
  126.     C Set/2, IPMD, NMAKE
  127.     Toolkit 2.0...International Business Machines Corporation
  128.